package com.dmgis.qxfw.dataservice.cdweixin.service;



import com.dmgis.qxfw.dataservice.businessservice.api.entity.qx.msgmediumsmallscale;
import com.dmgis.qxfw.dataservice.businessservice.api.entity.qx.special_srv_station;
import com.dmgis.qxfw.dataservice.businessservice.api.entity.zy.waterlogging_pointinfo;
import com.dmgis.qxfw.dataservice.businessservice.common.domain.ActualElemQuery;
import com.dmgis.qxfw.dataservice.businessservice.common.domain.MsgMediumSmallScale;
import com.dmgis.qxfw.dataservice.businessservice.common.entity.DPoint;
import com.dmgis.qxfw.dataservice.businessservice.common.entity.TownshipForecast;
import com.dmgis.qxfw.dataservice.businessservice.common.entity.TownshipForecastKey;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface WXDataService {

	// 区域自动站--初始化最新时间
	String InitSkMaxTime();

	// 区域自动站--加载县信息
	String loadSkCounty();

	// 区域自动站--加载站点信息
	String loadSkStation();

	// 区域自动站--多要素查询(地图数据)
	String MultiElemQueryByTimeRange(HttpServletRequest request);

	// 区域自动站--多要素查询（表格数据）
	String MultiElemQueryByTimeRangeSta(HttpServletRequest request);

	// 区域自动站--信息查询
	String SmallScaleByTimeRangeSta(HttpServletRequest request);

	// 城镇预报最新时间
	String InitCityMaxTime();

	// 城镇预报站点信息
	String loadCityStation();

	// 城镇报查询
	String CityForecast(HttpServletRequest request);

	// 城镇报查询
	String CityForecastByTimeRangeSta(HttpServletRequest request);

	// 精细化预报最新时间
	String InitFineMaxTime();

	// 精细化预报站点信息
	String loadFineStation();

	/*
	 * //精细化报查询 String FineForecast(String url, String qxDbname, String usr, String
	 * psd, HttpServletRequest request);
	 */
	/*
	 *
	 *
	 * //精细化报查询 String FineForecastByTimeRangeSta(String url, String qxDbname,
	 * String usr, String psd, HttpServletRequest request);
	 */
	/**
	 * 专业雷达图
	 *
	 * @param request
	 * @return
	 * @author dsq
	 * @date 2018年10月23日
	 */
	/*
	 * String ObtainRadar(HttpServletRequest request);
	 */
	// 云图查询
	String ObtainSatellite(HttpServletRequest request);

	// 预警信息查询
	String Warning(HttpServletRequest request);

	// 旅游气象景点信息
	String InitTourStation(HttpServletRequest request);

	// 旅游气象景点信息--加载县信息
	String loadTourCounty();

	// 旅游预报信息
	String TourForecastSta(HttpServletRequest request);

	// 旅游预报信息
	String TourForecastSta_7Day(HttpServletRequest request);

	// 旅游预报信息
	String TourSmallScaleSta_24Hour( HttpServletRequest request);

	// 旅游预报信息
	String TourForecastByTimeRangeSta(HttpServletRequest request);

	// 获取最新数据
	String GetNewestForecastInfo();

	// 森林火险预报查询
	String getFireForecast(HttpServletRequest request);

	// 森林火险预报查询(地图)
	String getFireForecastById(HttpServletRequest request);

	// 森林火险历史
	String getFireHistory(HttpServletRequest request);

	String getForestDisaster(HttpServletRequest request);

	String getlyForestDisaster(HttpServletRequest request);

	// 地灾预警查询
	String getDZWarning(HttpServletRequest request);

	// 获取最新地灾数据
	String GetNewestDisasterInfo(HttpServletRequest request);

	// 地灾预警查询(地图)
	String getDZWarningById(String url, String usr, String psd, HttpServletRequest request);

	// 地灾预警查询(地图)
	String DisType();

	// 地灾面绘制
	String DzPolygon( HttpServletRequest request);

	// 灾点查询
	String IndustryQuery(HttpServletRequest request);

	// 交通气象最新时间
	String InitTrafficMaxTime();

	// 交通气象
	String getTrafficForcast(HttpServletRequest request);

	// 城市气象最新时间
	String InitCityFireMaxTime();

	// 城市气象、城市火险预报站点
	String loadCityFireStation();

	// 城市气象预报查询
	String getCityFire(HttpServletRequest request);

	// 城市气象预报查询
	String getCityFireByTimeRangeSta(HttpServletRequest request);

	// 指数信息-获取地区信息
	String getZsCityName();

	// 指数信息最新时间
	String InitZhiSHuForcastMaxTime();


	// 指数信息查询
	String getZsForcastByTimeRange(HttpServletRequest request);

	// 城市内涝最新时间
	String InitWaterLoggingMaxTime();

	// 城市内涝信息查询
	String getWaterLogging(HttpServletRequest request);

	// 城市内涝预报查询
	String getNeiLaoForecast( HttpServletRequest request);

	// 雷电气象加载县信息
	String loadThunderCounty();

	// 雷电气象最新时间
	String InitThunderMaxTime();

	// 雷电气象信息查询
	String getThunder(HttpServletRequest request);

	// 文章类别
	String getArticleType(HttpServletRequest request);

	// 获取文档
	String getWenDang(HttpServletRequest request);


	// 作物发育期指标
	String getCropGrowth();

	// 病虫害指标
	String getDiseasesAndPests();

	// 作物气象灾害指标
	String getWeatherDiseases();


	// 农气预报--土壤墒情最新时间
	String InitHumidMaxTime();


	// 农气预报--视频信息
	String LoadVideo(HttpServletRequest request);

	// 农服站点信息
	String LoadAgriStation();

	// 大户统计
	String getDaHuTongJi(HttpServletRequest request);

	// 发育期--农作物名称
	String getCropName(HttpServletRequest request);

	// 发育期--农作物品种
	String getCropVariety(HttpServletRequest request);

	// 发育期历史表数据
	String getGrowthHistory(HttpServletRequest request);

	// 发育期预报数据
	String getGrowthForcast(HttpServletRequest request);

	// 产量--农作物名称
	String getCropNameInYield(String url, String usr, String psd, HttpServletRequest request);

	// 产量--农作物品种
	String getCropVarietyInYield(String url, String usr, String psd, HttpServletRequest request);


	// 农业风险区划图
	String getDisProduct(HttpServletRequest request);

	// 环保实况查询
	String getDayProtection(HttpServletRequest request);


	// 雨量统计查询
	String getrainWeather(HttpServletRequest request);

	// 雨量统计查询
	String getrainCondition(String url, String usr, String psd, HttpServletRequest request);

	// 全市环保实况查询
	String getqsProtect(String url, String usr, String psd, HttpServletRequest request);

	// 景点森林火险context
	String getjdSenlinhx(HttpServletRequest request);

	// 交通预警context
	String getjtyj(HttpServletRequest request);

	// 森林火险Warn_result
	String getSenlinhx(String url, String zyDbname, String usr, String psd, HttpServletRequest request);

	// 山洪预警Warn_result
	String getShanhongyj(String url, String usr, String psd, HttpServletRequest request);

	// 山洪预警Warn_result
	String getcontext(HttpServletRequest request);

	// 山洪预警Warn_result
	String getZhTime(String url, String zyDbname, String usr, String psd, HttpServletRequest request);

	// 潜势预报
	String getQianshiyubao(HttpServletRequest request);


	// 产品信息获取
	String getProductList(String url, String zyDbname, String usr, String psd, HttpServletRequest request);


	// 管理员用户登录
	String UserLogin(String url, String zyDbname, String usr, String psd, HttpServletRequest request);


	// 大户用户站点Id
	String getStationId(String town);

	// 小时气温初始化时间
	String initHourTempTime(String url, String qxDbname, String usr, String psd, HttpServletRequest request);


	/* 易涝点 */
	public List<waterlogging_pointinfo> getwaterlogpnt();

	// 安监初始化
	List<special_srv_station> getAnjianPoint(String staName);

	// 安监预报
	List<TownshipForecast> getAnjianFcst(String time, String sc, String sx, String r, String lon, String lat);

	// 实况
	List<MsgMediumSmallScale> qxElementQuery(ActualElemQuery elemQuery);

	String getDisImg(HttpServletRequest request);

	/***
	 * 验证是否用户关联
	 * @param url
	 * @param zyDbname
	 * @param usr
	 * @param psd
	 * @param request
	 * @return
	 */
	String isGuanlian(String url, String zyDbname, String usr, String psd, HttpServletRequest request);


	/***
	 * 农情监控
	 * @param url
	 * @param psd
	 * @return
	 */
	String LoadAgriMonitorInfo(String url, String usr, String psd);

	/***
	 * 农业病虫害监控
	 * @param url
	 * @param usr
	 * @param psd
	 * @return
	 */
	String LoadBchMonitorInfo(String url, String usr, String psd);

    String getSingleProduct(HttpServletRequest request);

	String getSingleWarnProduct(HttpServletRequest request);

    String getRainInfo(HttpServletRequest request);

    String getProProductList(String url, HttpServletRequest request);

	String GetDisWeatherDayImg(String distype, String localPath, HttpServletRequest request);

	String getFirePoint(String url, String usr, String psd, HttpServletRequest request);

	List<msgmediumsmallscale> getskPoint1(DPoint selectKey);

	Object getDPoint(DPoint selectKey, String type);

	List<msgmediumsmallscale> getskPoint(DPoint selectKey);

	Object getTownSta(String starttime, String sc, String sx);

	List<TownshipForecast> getfcstPoint1(TownshipForecastKey selectKey);

	List<TownshipForecast> getfcstPoint(TownshipForecastKey selectKey, String[] stations);

	public List<msgmediumsmallscale> getcityskPoint(String stationname);

    String getmoniwaring(String url, String usr, String psd, HttpServletRequest request);

    String multiProductList(HttpServletRequest request);

    String getWXDZwarning(String url, String usr, String psd, HttpServletRequest request);

	String nongshiYB(String url, String usr, String psd, HttpServletRequest request);

	String getQuHuaProduct(HttpServletRequest request);

    String getwxProductList(String url, String usr, String psd, HttpServletRequest request);

	String getProtect(String url, String usr, String psd, HttpServletRequest request);

	String getWeekProtection(String url, String usr, String psd, HttpServletRequest request);
}